<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
</head>
<body>

</body>
<script>
	//1. 依次输出什么?
	//2. 整个过程中产生了几个执行上下文?答：5个
	// 1- 上下文
	/*
	[
		fooContext----->i===>4
		fooContext----->i===>3
		fooContext----->i===>2
		fooContext----->i===>1
		globalContext // 全局上下文
	]
	*/
	// 2- 输出结果
	// global begin undefined
	// foo() begin: 1
	// foo() begin: 2
	// foo() begin: 3
	// foo() end: 3
	// foo() end: 2
	// foo() end: 1
	// global end:: 1
	console.log('global begin: '+ i)
	
	var i = 1
	foo(1);
	function foo(i) {// 1
		if (i == 4) {
			return;
		}
		console.log('foo() begin:' + i);
		foo(i + 1);
		console.log('foo() end:' + i);
	}
	console.log('global end: ' + i)
</script>
</html>